#include<iostream>
#include<cstring>
using namespace std;
const int N = 40;
int g[N][N];
bool st[N];
int n, m;
bool check_row()
{
	for (int i = 0; i < m; i++) {
		memset(st, 0, sizeof(st));
		for (int j = 0; j < m; j++) {
			int k = g[i][j];
			if (k<1 || k>m)return 0;
			if (st[k])return 0;
			st[k] = 1;
		}
	}
	return 1;
}
bool check_col()
{
	for (int i = 0; i < m; i++) {
		memset(st, 0, sizeof(st));
		for (int j = 0; j < m; j++) {
			int k = g[j][i];
			if (k<1 || k>m)return 0;
			if (st[k])return 0;
			st[k] = 1;
		}
	}
	return 1;
}

bool check_cell()
{
	for (int i = 0; i < m; i += n) {
		for (int j = 0; j < m; j += n) {
			memset(st, 0, sizeof(st));
			for (int dx = i; dx < i + n; dx++) {
				for (int dy = j; dy < j + n; dy++) {
					int k = g[dx][dy];
					if (k<1 || k>m)return 0;
					if (st[k])return 0;
					st[k] = 1;
				}
			}
		}
	}
	return 1;
}
int main()
{
	int t;
	cin >> t;
	for (int i = 1; i <= t; i++) {
		cin >> n;
		m = n * n;
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < m; j++) {
				cin >> g[i][j];
			}
		}
		if (check_row() && check_col() && check_cell()) {
			printf("Case #%d: Yes", i);
		}
		else {
			printf("Case #%d: No", i);
		}
		cout << endl;
	}
	return 0;
}